package com.xuzhiguang.baidu.pan.sdk.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;

/**
 * @author xuzhiguang
 * @date 2020/6/26 14:22
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
@JsonIgnoreProperties(ignoreUnknown = true)
public class BasicFileListAllParams {

    /**
     * 目录名称
     */
    private String path;

    /**
     * 排序字段，time(修改时间)，name(文件名)，size(大小)，默认为文件类型
     */
    private String order;

    /**
     * 	0 升序，1 降序，默认0
     */
    private String desc;

    /**
     * 	查询起点，默认0
     */
    private Integer start;

    /**
     * 查询数目，默认1
     */
    private Integer limit;

    /**
     * 是否递归，0 否，1 是，默认0
     */
    private Integer recursion;

    /**
     * 文件上传时间，设置此参数，表示只返回上传时间大于ctime的文件
     */
    private Integer ctime;

    /**
     * 文件修改时间，设置此参数，表示只返回修改时间大于ctime的文件
     */
    private Integer mtime;

    /**
     * 为1时返回缩略图地址
     */
    private Integer web;

    @Override
    public String toString() {
        return "BasicFileListAllParams{" +
                "path='" + path + '\'' +
                ", order='" + order + '\'' +
                ", desc='" + desc + '\'' +
                ", start=" + start +
                ", limit=" + limit +
                ", recursion=" + recursion +
                ", ctime=" + ctime +
                ", mtime=" + mtime +
                ", web='" + web + '\'' +
                '}';
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public String getOrder() {
        return order;
    }

    public void setOrder(String order) {
        this.order = order;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public Integer getStart() {
        return start;
    }

    public void setStart(Integer start) {
        this.start = start;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getRecursion() {
        return recursion;
    }

    public void setRecursion(Integer recursion) {
        this.recursion = recursion;
    }

    public Integer getCtime() {
        return ctime;
    }

    public void setCtime(Integer ctime) {
        this.ctime = ctime;
    }

    public Integer getMtime() {
        return mtime;
    }

    public void setMtime(Integer mtime) {
        this.mtime = mtime;
    }

    public Integer getWeb() {
        return web;
    }

    public void setWeb(Integer web) {
        this.web = web;
    }
}
